//************************************************************************
// author	:	staylook												
// date		:	2011/4/3 1:21 					                 
//************************************************************************
#ifndef SL_DRAWABLE_H_
#define SL_DRAWABLE_H_
#include "Node.h"
#include "BoundingBox.h"
namespace sl
{
	class SL_EXPORT Drawable : public Object
	{
		public:
			typedef std::vector< sl::Node * >	ParentList;


			Drawable(void);
			~Drawable(void);

			virtual void AddParent( sl::Node * pParent );
			virtual void RemoveParent( sl::Node * pParent );

			sl::BoundingBox * GetBound() { return m_rBoundingBox.get(); }


		protected:
			ParentList						m_vParentList;

			sl::ref_ptr<sl::BoundingBox>	m_rBoundingBox;
	};

}

#endif

